home *** CD-ROM | disk | FTP | other *** search
Oberon Document | 1995-09-04 | 5.8 KB | 192 lines | [oODC/obnF] |
- Documents.StdDocumentDesc
- Documents.DocumentDesc
- Containers.ViewDesc
- Views.ViewDesc
- Stores.StoreDesc
- Documents.ModelDesc
- Containers.ModelDesc
- Models.ModelDesc
- Stores.ElemDesc
- TextViews.StdViewDesc
- TextViews.ViewDesc
- TextModels.StdModelDesc
- TextModels.ModelDesc
- TextModels.AttributesDesc
- Geneva
- Geneva
- Geneva
- MODULE MacDeviceMgr;
- IMPORT SYSTEM, MacTypes;
- ParmBlkPtr* = POINTER TO ParamBlockRec;
- ParamBlockRec* = RECORD (MacTypes.Data)
- qLink*: LONGINT;
- qType*: INTEGER;
- ioTrap*: INTEGER;
- ioCmdAddr*: MacTypes.Ptr;
- ioCompletion*: MacTypes.ProcPtr;
- ioResult*: MacTypes.OSErr;
- ioNamePtr*: MacTypes.StringPtr;
- ioVRefNum*: INTEGER;
- END;
- ioParamBlockRec* = RECORD (ParamBlockRec)
- ioRefNum*: INTEGER;
- ioVersNum*: MacTypes.SignedByte;
- ioPermssn*: MacTypes.SignedByte;
- ioMisc*: MacTypes.Ptr;
- ioBuffer*: MacTypes.Ptr;
- ioReqCount*: LONGINT;
- ioActCount*: LONGINT;
- ioPosMode*: LONGINT;
- ioPosOffset*: LONGINT;
- END;
- cntrlParamBlockRec* = RECORD (ParamBlockRec)
- ioCRefNum*: INTEGER;
- csCode*: INTEGER;
- csParam*: ARRAY 11 OF INTEGER;
- END;
- (* Trapcodes *)
- PROCEDURE [1] open 0A0H, 000H;
- PROCEDURE [1] openAsync 0A4H, 000H;
- PROCEDURE [1] close 0A0H, 001H;
- PROCEDURE [1] closeAsync 0A4H, 001H;
- PROCEDURE [1] read 0A0H, 002H;
- PROCEDURE [1] readAsync 0A4H, 002H;
- PROCEDURE [1] write 0A0H, 003H;
- PROCEDURE [1] writeAsync 0A4H, 003H;
- PROCEDURE [1] control 0A0H, 004H;
- PROCEDURE [1] controlAsync 0A4H, 004H;
- PROCEDURE [1] status 0A0H, 005H;
- PROCEDURE [1] statusAsync 0A4H, 005H;
- PROCEDURE [1] killIO 0A0H, 006H;
- PROCEDURE [1] killIOAsync 0A4H, 006H;
- PROCEDURE [1] Debugger 0A9H, 0FFH;
- (* High-Level Device Manager Routines *)
- PROCEDURE OpenDriver*(name: MacTypes.Str255; VAR refNum: INTEGER): MacTypes.OSErr;
- pb: ioParamBlockRec;
- BEGIN
- pb.ioCompletion := NIL;
- pb.ioNamePtr := SYSTEM.VAL(MacTypes.StringPtr, SYSTEM.ADR(name));
- pb.ioPermssn := 0;
- SYSTEM.PUTREG(8, SYSTEM.ADR(pb));
- open;
- refNum := pb.ioRefNum;
- RETURN pb.ioResult;
- END OpenDriver;
- PROCEDURE CloseDriver*(refNum: INTEGER): MacTypes.OSErr;
- pb: ioParamBlockRec;
- BEGIN
- pb.ioCompletion := NIL;
- pb.ioRefNum := refNum;
- SYSTEM.PUTREG(8, SYSTEM.ADR(pb));
- close;
- RETURN pb.ioResult;
- END CloseDriver;
- PROCEDURE FSRead*(refNum: INTEGER; VAR count: LONGINT; buffPtr: MacTypes.Ptr): MacTypes.OSErr;
- pb: ioParamBlockRec;
- BEGIN
- pb.ioCompletion := NIL;
- pb.ioVRefNum := 0; (* ??? *)
- pb.ioRefNum := refNum;
- pb.ioBuffer := buffPtr;
- pb.ioReqCount := count;
- pb.ioPosMode := 0;
- pb.ioPosOffset := 0;
- SYSTEM.PUTREG(8, SYSTEM.ADR(pb));
- read;
- count := pb.ioActCount;
- RETURN pb.ioResult;
- END FSRead;
- PROCEDURE FSWrite*(refNum: INTEGER; VAR count: LONGINT; buffPtr: MacTypes.Ptr): MacTypes.OSErr;
- pb: ioParamBlockRec;
- BEGIN
- pb.ioCompletion := NIL;
- pb.ioVRefNum := 0; (* ??? *)
- pb.ioRefNum := refNum;
- pb.ioBuffer := buffPtr;
- pb.ioReqCount := count;
- pb.ioPosMode := 0;
- pb.ioPosOffset := 0;
- SYSTEM.PUTREG(8, SYSTEM.ADR(pb));
- write;
- count := pb.ioActCount;
- RETURN pb.ioResult;
- END FSWrite;
- PROCEDURE KillIO*(refNum: INTEGER): MacTypes.OSErr;
- pb: ioParamBlockRec;
- BEGIN
- pb.ioCompletion := NIL;
- pb.ioRefNum := refNum;
- SYSTEM.PUTREG(8, SYSTEM.ADR(pb));
- killIO;
- RETURN pb.ioResult;
- END KillIO;
- (* Low-Level Device Manager Routines *)
- PROCEDURE PBOpen*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN openAsync ELSE open END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBOpen;
- PROCEDURE PBClose*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN closeAsync ELSE close END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBClose;
- PROCEDURE PBRead*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN readAsync ELSE read END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBRead;
- PROCEDURE PBWrite*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN writeAsync ELSE write END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBWrite;
- PROCEDURE PBControl*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN controlAsync ELSE control END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBControl;
- PROCEDURE PBStatus*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN statusAsync ELSE status END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBStatus;
- PROCEDURE PBKillIO*(paramBlock: ParmBlkPtr; async: BOOLEAN): MacTypes.OSErr;
- VAR res: MacTypes.OSErr;
- BEGIN
- SYSTEM.PUTREG(8, paramBlock);
- IF async THEN killIOAsync ELSE killIO END;
- SYSTEM.GETREG(0, res);
- RETURN res;
- END PBKillIO;
- END MacDeviceMgr.
- TextControllers.StdCtrlDesc
- TextControllers.ControllerDesc
- Containers.ControllerDesc
- Controllers.ControllerDesc
- TextRulers.StdRulerDesc
- TextRulers.RulerDesc
- TextRulers.StdStyleDesc
- TextRulers.StyleDesc
- TextRulers.AttributesDesc
- Geneva
- Documents.ControllerDesc
-